#include"ThreadPool.hpp"
#include"Log.hpp"
#include<time.h>
#include<stdlib.h>
#include<memory> //这个头文件包含了与内存管理和智能指针相关的类和函数模板

int main()
{
    EnableFile();
    LOG(Debug, "程序已加载");
    sleep(1);
    srand(time(nullptr));

    //在C++14中,新增的一个模板函数,用于创建并返回一个std::unique_ptr智能指针
    std::unique_ptr<ThreadPool<Task>> tp = std::make_unique<ThreadPool<Task>>(6);
    //ThreadPool<Task>* tp = new ThreadPool<Task>(6);
    //std::unique_ptr<ThreadPool<Task>> tp(new ThreadPool<Task>(6));
    tp->InitThreadPool();
    tp->Start();
    int cnt = 6;
    while(cnt--)
    {
        int a = rand() % 40;
        int b = rand() % 36;
        Task t(a, b);
        tp->EnTask(t);
        sleep(1);
    }
    sleep(2);
    tp->Stop();
    tp->WaitThread();

    return 0;
}